home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1987 August
/
Ahoy_Magazine_87-08_1987_Double_L_Side_A.d64
/
Batter Up!
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
8KB
|
220 lines
5 rem batter up! by jc hilty 3/87
6 printchr$(142)
10 gosub745
15 gosub515
20 b=0:k=0:ot=0:r=0:x=1
25 ifin=10then1050
30 poke2040,200:poke2042,202:fort=0to500:next
35 print"[144]"tab(2)b;tab(5)k;tab(9)ot;tab(14)in
40 ifot=3then420
45 ifk=3thenot=ot+1:gosub105:k=0:b=0:goto35
50 ifb=4thengosub380:b=0:k=0:gosub105:goto35
55 print""tab(22)" "
60 print"[158]"tab(22)p$(x);" ";pa(x):gosub690:fort=0to1000:next
65 poke2042,203:fort=0to300:next:poke2042,204:fort=0to200:next
70 z=int(8*rnd(1)+1)
75 onzgosub120,130,120,140,120,150,120,160
80 w=206
85 fb=-((peek(56320)and16)=0)
90 iffb=1thenpoke2040,208:pokev+21,31:goto170
95 poke2044,w:fort=0to50:next:w=w+1:ifw=208then185
100 goto85
105 x=x+1:ifx=10thenx=1:return
110 return
115 rem computer pitches
120 pokev+8,88:pokev+9,162:pokev+21,23:fort=0to50:next:pokev+9,172
125 return
130 pokev+8,88:pokev+9,162:pokev+21,23:fort=0to50:pokev+9,145
135 return
140 pokev+8,88:pokev+9,162:pokev+21,23:fort=0to50:pokev+9,172:pokev+8,120
145 return
150 pokev+8,88:pokev+9,162:pokev+21,23:fort=0to50:pokev+9,200:pokev+8,70
155 return
160 pokev+8,88:pokev+9,162:pokev+21,23:fort=0to50:pokev+9,200:pokev+8,100
165 return
170 fort=0to150:next:ifz=1orz=3orz=5orz=7then205
175 k=k+1:fort=0to200:next:pokev+21,7:e$="strike"
180 goto260
185 ifz=1orz=3orz=5orz=7thene$="strike":k=k+1:fort=0to500:next:goto195
190 e$="ball":b=b+1:fort=0to500:next
195 pokev+21,7:goto260
200 rem batter hits ball
205 gosub705:pokev+21,7:e=rnd(5)+pa(x)/1000
210 ife>1.1thene$="home run":gosub285:b=0:k=0:gosub105:goto260
215 ife>.9thene$="triple":gosub310:b=0:k=0:gosub105:goto260
220 ife>.8thene$="double":gosub335:b=0:k=0:gosub105:goto260
225 ife>.6thene$="single":gosub380:b=0:k=0:gosub105:goto260
230 ife>.5thene$="foul ball":gosub245:goto260
235 ife>.3thene$="ground out":ot=ot+1:gosub105:b=0:k=0:goto260
240 e$="fly out":ot=ot+1:b=0:k=0:gosub105:goto260
245 ifk<2thenk=k+1:return
250 return
255 rem display hitting results
260 print"[158]"tab(27)e$
265 fort=0to2500:next
270 print""tab(27)" "
275 goto25
280 rem homerun
285 ifr=0thenys=ys+1:r=0:gosub455:gosub510:return
290 ifr=1orr=2orr=4thenys=ys+2:r=0:gosub455:gosub510:return
295 ifr=3orr=5orr=6thenys=ys+3:r=0:gosub455:gosub510:return
300 ifr=7thenys=ys+4:r=0:e$="grand slam":gosub455:gosub510:return
305 rem triple
310 ifr=0thenr=4:gosub455:return
315 ifr=1orr=2orr=4thenys=ys+1:r=4:gosub455:gosub510:return
320 ifr=3orr=5orr=6thenys=ys+2:r=4:gosub455:gosub510:return
325 ifr=7thenys=ys+3:r=4:gosub455:gosub510:return
330 rem double
335 ifr=0thenr=2:gosub455:return
340 ifr=1thenr=6:gosub455:return
345 ifr=2thenys=ys+1:r=2:gosub455:gosub510:return
350 ifr=3thenys=ys+1:r=6:gosub455:return
355 ifr=4thenys=ys+1:r=2:gosub455:gosub510:return
360 ifr=5thenys=ys+1:r=6:gosub455:gosub510:return
365 ifr=6thenys=ys+2:r=2:gosub455:gosub510:return
370 ifr=7thenys=ys+2:r=6:gosub455:gosub510:return
375 rem single or walk
380 ifr=0thenr=1:gosub455:return
385 ifr=1thenr=3:gosub455:return
390 ifr=3thenr=7:gosub455:return
395 ifr=4thenys=ys+1:r=1:gosub455:gosub510:return
400 ifr=5thenys=ys+1:r=3:gosub455:gosub510:return
405 ifr=6thenys=ys+1:r=5:gosub455:gosub510:return
410 ifr=7thenys=ys+1:r=7:gosub455:gosub510:return
415 ifr=2thenr=5:gosub455:return
420 i=int(4*rnd(6))
425 print"[158]"tab(22)"computer "i:gosub720
430 cs=cs+i:print""tab(22)" "
435 print"[158]"tab(32)cs:gosub105
440 in=in+1:b=0:k=0:r=0:ot=0:gosub455
445 goto25
450 rem place baserunners
455 r=r+1:onrgosub465,470,475,480,485,490,495,500
460 r=r-1:return
465 pokefi,160:pokesn,160:poketh,160:return
470 pokefi,86:pokesn,160:poketh,160:return
475 pokesn,86:pokefi,160:poketh,160:return
480 poketh,160:pokesn,86:pokefi,86:return
485 poketh,86:pokesn,160:pokefi,160:return
490 pokesn,160:poketh,86:pokefi,86:return
495 pokefi,160:pokesn,86:poketh,86:return
500 pokefi,86:pokesn,86:pokefi,86:return
505 rem update score
510 print"[158]"tab(32)ys:return
515 rem playing field
520 poke53281,8:poke53280,0
525 print"[147][144] b s out inn [154] "
530 print"[144] [154] "
535 print" [154] [144] [154] "
540 fort=0to2:print" [154] [144] "tab(36)" [154] ":next
545 print"[149] [154] [144] "tab(36)" [154] "
550 fort=0to1:print" [154] [144] "tab(36)" [154] ":next
555 print" [154] [144] [154] "
560 printtab(20)"[154] [144] [154] [144] [154] "
565 print" [144] [144] "
570 print" [206] [205] "
575 print" [146][169] [223] [206] [205]"
580 print" [205] [206]"
585 print"[223] [146][169] [205] [206] "
590 print" [223] [146][169] [205] [206] "
595 print" [223] [146][169] [205] [206] "
600 print" [175][175][175][175][175] [175][175][175][175][175] [205] [206] [205] [206] "
605 print" [206] [206] [205] [205] [205] [206] [205] [206] "
610 print" [206] [206] [146] [205] [205] [218] "
615 print"[206] [206] [223] [146][169] [205] [205] [205] [206] "
620 print" [206]"tab(15)"[205] [205] [206] "
625 print"[183][183][183][183]"tab(16)"[183][183][183][183] "
630 forx=2004to2022:pokex,160:pokex+54272,5:next
635 x=1063:fort=0to24:pokex,160:pokex+54272,0:x=x+40:next
640 print"[158]"tab(22)t$;tab(32)ys:print""tab(22)c$;tab(32)cs
645 print""tab(22)"now batting"
650 pokev+16,0:pokev+27,0:pokev+23,15:pokev+29,15:pokev+28,7
655 pokev+37,10:pokev+38,0
660 poke2040,200:pokev+39,7:pokev,30:pokev+1,150
665 poke2041,201:pokev+40,1:pokev+2,30:pokev+3,192
670 poke2042,202:pokev+41,6:pokev+4,78:pokev+5,120
675 poke2043,209:pokev+42,0:pokev+6,64:pokev+7,160
680 poke2044,205:pokev+43,1:pokev+8,80:pokev+9,192
685 pokev+21,7:return
690 fort=0to24:pokes+t,0:next
695 pokes,150:pokes+1,200:pokes+5,8:pokes+6,248:pokes+24,15:pokes+4,17
700 fort=0to0500:next:pokes+4,16:return
705 fort=0to24:pokes+t,0:next
710 pokes+24,15:pokes+1,80:pokes+5,80:pokes+6,245
715 pokes+4,129:fort=0to100:next:pokes+4,128:return
720 fort=0to24:pokes+t,0:next
725 pokes+18,128:pokes,75:pokes+6,240:pokes+14,12:pokes+15,250:pokes+24,207
730 forl=0to30:pokes+4,17:pokes+1,peek(s+27)
735 fort=0to100:next:next:pokes+4,0
740 return
745 poke53281,12:poke53280,0:print"[147]"tab(14)"************"
750 printtab(14)"* *":printtab(14)"*batter up!*"
755 printtab(14)"* *":printtab(14)"************":printtab(19)"by"
760 printtab(16)"jc hilty":print:print
765 print"please wait while we buy some peanuts.."
770 dimpa(9),p$(9):ys=0:cs=0:in=1:sn=1733:th=1850:fi=1856
775 s=54272:v=53248
780 forx=12800to13438:reada:pokex,a:next
785 forx=1to9:readp$(x):next
790 print"[147]please enter the name of your team...."
795 print"....up to 10 letters."
800 inputt$:iflen(t$)>10then790
805 iflen(t$)<1thent$="pittsburgh"
810 print"[147]please enter the computer team's name.."
815 print"..up to 10 letters."
820 inputc$:iflen(c$)>10then810
825 iflen(c$)<1thenc$="new york"
830 forx=1to9:pa(x)=int(300*rnd(5)+100):next
835 print"[147]lineups and batting averages":print:printt$:print
840 forx=1to9:printp$(x);" ";pa(x):next:print:print
845 print"press p to print lineup on printer...."
850 print"....any other key to continue."
855 geta$:ifa$=""then855
860 ifa$="p"thengosub1030
865 return
870 rem sprite data
875 data 240,42,0,240,42,0,240,42,128,252,42,160,60,41,64,60,41,64,63,53,64
880 data 3,53,64,3,205,0,2,234,0,10,250,128,10,186,128,14,190,128,53,94,128
885 data 53,93,240,61,171,112,10,169,112,10,170,240,15,170,0,15,252,0,15,252,0
890 data 0
895 data 10,170,0,10,170,0,10,170,128,10,171,128,10,174,128,2,174,128
900 data 2,174,128,2,174,128,2,174,128,2,174,0,2,174,0,10,170,0,10,186,0
905 data 10,191,240,10,188,0,10,128,0,11,192,0,15,252,0,15,0,0,0,0,0,0,0,0,0
910 data 0,10,0,0,42,0,0,5,0,0,5,0,0,1,0,0,10,128,0,42,160,0,170,168,0,138,136
915 data 0,138,136,0,169,168,0,15,192,0,10,128,0,10,128,0,8,128,0,8,128
920 data 0,8,128,0,12,192,0,12,192,0,60,240,0,0,0,0
925 data 0,10,0,0,42,0,0,5,0,0,5,0,0,1,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0
930 data 0,10,0,0,15,0,0,1,0,0,2,0,0,2,0,0,2,0,0,2,0,0,3,0,0,3,0,0,15,0
935 data 0,0,0,0
940 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,10,36,0,165,128,0,170,0
945 data 0,138,48,0,138,128,0,138,0,0,66,0,0,2,0,0,2,0,0,3,0,0,0,0,0,0,0
950 data 0,0,0,0,0,0,0
955 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,60,0,0,24,0
960 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
965 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,60,0,0,126,0,0,60,0
970 data 0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
975 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,255,0,0,255,0,0,255,0
980 data 0,255,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
985 data 0,42,0,0,42,0,0,42,128,0,42,160,0,41,64,0,41,64,0,21,64,0,21,64
990 data 0,165,0,2,170,0,2,170,128,2,170,128,2,170,128,2,170,128,10,170,128
995 data 10,170,128,10,170,128,10,170,0,15,234,0,15,252,0,15,252,0,0
1000 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,135,255,252
1005 data 255,255,252,128,63,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1010 data 0,0,0,0,0,0,0
1015 rem player names
1020 data rocky,spike,pete,willie,hammer,jim,moose,boomer,hawk
1025 rem printout lineup
1030 print"[147]make sure printer is on....":print"....press any key."
1035 geta$:ifa$=""then1035
1040 open3,4,0:print#3,"lineup and averages for ";t$
1045 forx=1to9:print#3,p$(x);" ";pa(x):next:close3
1046 print:print"press any key to begin game."
1047 geta$:ifa$=""then1047
1048 return
1049 rem game over
1050 pokev+21,0
1055 poke53281,0:poke53280,0:print"[147][154]"tab(14)"************"
1060 printtab(14)"*scoreboard*":printtab(14)"************":print:print
1065 printtab(14)t$;ys:printtab(14)c$;cs
1070 end